
package carmadness.view;

import java.util.HashMap;

/**
 * Megjelenítő osztályok őse.
 * 
 * @author arpi
 * @version 1.0
 * @created 10-Apr-2010 2:32:42 PM
 */
public abstract class Renderer
{

	/**
	 * A típusinformációt és a renderert összerendelő map.
	 */
	private static HashMap<Class, Renderer> renderers = new HashMap<Class, Renderer>();

	/**
	 * Visszaadja az adott példány osztályához tartozó renderert.
	 * 
	 * @param object
	 */
	public static Renderer getRenderer( Object object )
	{
		return renderers.get( object.getClass() );
	}

	/**
	 * Egy osztály-renderer összerendelés felvétele.
	 * 
	 * @param c
	 *            Az osztály.
	 * @param r
	 *            A renderer.
	 */
	public static void registerRenderer( Class c, Renderer r )
	{
		renderers.put( c, r );
	}

	/**
	 * A renderelést végző metódus.
	 * 
	 * @param object
	 */
	public abstract void render( Object object );

}
